package com.examples.gateway.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.examples.core.mybatis.base.BaseSafeEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

/**
 * @ClassName: SystemOperateLog
 * @Description: TODO
 * @Author: DAIYALU
 * @Date: 2024/6/20
 * @Version: 1.0
 */
@Data
@TableName("system_operate_log")
@EqualsAndHashCode(callSuper = true)
public class SystemOperateLog extends BaseSafeEntity {

    /**
     * ID
     */
    @TableId(type = IdType.ASSIGN_ID)
    private Long id;

    private String traceId;

    private Long userId;

    /**
     * {@link com.examples.core.enums.UserIdentityEnum}
     */
    private String userType;

    private String menuCode;

    private String content;

    private String exts;

    private String serviceName;

    private String requestMethod;

    private String requestUrl;

    private String userIp;

    private String userAgent;

    private String args;

    private LocalDateTime startTime;

    private Integer duration;

    private Integer resultCode;

    private String resultMsg;

    private String resultData;

}
